Conversation
…eir trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
* master: (287 commits) feat: Sync from noir (#11051) chore(docs): Update tx concepts page (#10947) chore(docs): Edit Aztec.nr Guide section (#10866) chore: test:e2e defaults to no-docker (#10966) chore(avm): improve column stats (#11135) chore: Sanity checking of proving job IDs (#11134) feat: permutation argument optimizations (#10960) feat: single tx block root rollup (#11096) refactor: prover db config (#11126) feat: monitor event loop lag (#11127) chore: Greater stability at 1TPS (#10981) chore: Jest reporters for CI (#11125) fix: Sequencer times out L1 tx at end of L2 slot (#11112) feat: browser chunking (#11102) fix: Added start/stop guards to running promise and serial queue (#11120) fix: Don't retransmit txs upon node restart (#11123) fix: Prover node aborts execution at epoch end (#11111) feat: blob sink in sandbox without extra process (#11032) chore: log number of instructions executed for call in AVM. Misc fix. (#11110) git subrepo push --branch=master noir-projects/aztec-nr ...
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
…hem (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
…ng/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
|
@aakoshh we've got a few bytecde size regressions here. Can you take a look to see if they're new and interesting or similar to what we saw in |
|
I can't replicate the size difference 🙁 % git checkout 85d389fd8344f2a6cba04ab8d8bd577b9698a0ca ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
M noir/noir-repo/compiler/noirc_driver/src/lib.rs
Previous HEAD position was f93468ffbf Merge branch 'master' into sync-noir
HEAD is now at 85d389fd83 feat: Kickoff tube circuits at the beginning of proving job (#11139)
% cargo run -q --release -p nargo_cli -- --program-dir $PROGRAM_DIR compile --package token_contract --skip-underconstrained-check --skip-brillig-constraints-check --force --silence-warnings
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode | @base64d | length' 47s ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
44878
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode' | base64 --decode | wc ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
90 751 47749
% git merge f93468f ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
Updating 85d389fd83..f93468ffbf
Fast-forward
...
117 files changed, 1271 insertions(+), 794 deletions(-)
...
% cargo run -q --release -p nargo_cli -- --program-dir $PROGRAM_DIR compile --package token_contract --skip-underconstrained-check --skip-brillig-constraints-check --force --silence-warnings
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode | @base64d | length' ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
44929
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode' | base64 --decode | wc ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
93 810 47749
% node $PROGRAM_DIR/scripts/publicFunctionsSizeReport.js $PROGRAM_DIR/target ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
Writing to public_functions_report.json
% cat public_functions_report.json | jq -r '.programs[] | select(.package_name=="Token::public_dispatch") | .unconstrained_functions[0].opcodes' ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
47749The byte code size is the same 🤷 |
chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
|
hmm, I'll have a look at this as well. |
|
@aakoshh your comment is showing a difference in bytecode size though? |
|
@ludamad I'm getting a strange new error on boxes-test here. Any idea what's up? |
…ang/noir#6985) feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938) chore: simplify a couple of enum variants (noir-lang/noir#7025) chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017) feat: unchecked math operations in SSA (noir-lang/noir#7011) chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938) chore: simplify a couple of enum variants (noir-lang/noir#7025) chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017) feat: unchecked math operations in SSA (noir-lang/noir#7011) chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
It looked like the Base64 decoding happens differently when done by |
* master: (329 commits) fix(avm): mac build (#11195) fix: docs rebuild patterns (#11191) chore: refactor Solidity Transcript and improve error handling in sol_honk flow (#11158) chore: move witness computation into class plus some other cleanup (#11140) fix: get_next_power_exponent off by 1 (#11169) chore(avm): vm2 followup cleanup (#11186) fix: underconstrained bug (#11174) refactor: VariableMerkleTree readability improvements (#11165) chore: removing noir bug workaround (#10535) chore(docs): Remove node pages (#11161) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg feat(avm2): avm redesign init (#10906) feat: Sync from noir (#11138) feat: simulator split (#11144) chore: rpc server cleanup & misc fixes (#11145) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] ...

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: SSA globals in monomorphization and SSA gen (noir-lang/noir#6985)
feat!: disallow calling unconstrained functions outside of
unsafeblocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938)chore: simplify a couple of enum variants (noir-lang/noir#7025)
chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017)
feat: unchecked math operations in SSA (noir-lang/noir#7011)
chore: delete docs for versions which aren't used (noir-lang/noir#7020)
feat!: Disable mocks in
execute(noir-lang/noir#6869)chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014)
feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018)
chore: Add more Field use info (noir-lang/noir#7019)
fix: let static_assert fail with the provided message (noir-lang/noir#7005)
chore: mark
aztec-nras expected to compile (noir-lang/noir#7015)chore: clarity fix in docs (noir-lang/noir#7016)
fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913)
feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of
//@safety(noir-lang/noir#6992)fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in
external-repo-checks(noir-lang/noir#6988)fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve
enumandmatchkeywords (noir-lang/noir#6961)END_COMMIT_OVERRIDE